<?php
namespace App;

function hello() {
    return 'Hey, man~';
}




/**
 * 条件分页读取
 * @desc 按where+order读取
 * return int count 总数
 * return array data 分页返回的相关数据
 */

function getInfoByPageByWhere($data)
{
    $page = $data->page;
    $size = $data->size;
    $where = json_decode($data->where,true);
    $order = $data->order;
    $table = $data->table;

    if( $table == 'idcard_check_list'){
        if ( $where['checker'] == '13397687956'){
            $where['checker'] = '';
        }
    }

    $newWhere = array();
    foreach ($where as $key=>$value){
        if ($value == '0' ){
            $newWhere[$key]=$value;
        }elseif( $value ){
            $newWhere[$key]=$value;
        }
    }


    if(!$order ){
        $order = "id DESC";
    }

    // 按分页取数据
    $data = \PhalApi\DI()->notorm->$table
        ->where($newWhere)
        ->order($order)
        ->limit(($page - 1) * $size, $size);
    // 读出总数
    $count = \PhalApi\DI()->notorm->$table
        ->where($newWhere)
        ->count("id");
    $res = array(
        'count' => $count,
        'data' => $data,
    );
    return $res;
}


/**
 * 条件分页读取
 * @desc 按where+order读取
 * return int count 总数
 * return array data 分页返回的相关数据
 */

function getInfoByPageByWhereByData($data)
{
    $page = $data['page'];
    $size = $data['size'];
    $where = json_decode($data['where'],true);
    $order = $data['order'];

    $newWhere = array();
    // $newWhere = $where;
    
    foreach ($where as $key=>$value){
        if ($value == '0' ){
            $newWhere[$key]=$value;
        }elseif( $value){
            $newWhere[$key]=$value;
        }

        if ( $key == 'MOP' && $value == '未检测' ){
            $newWhere[$key]= null;
            // return $newWhere;
        }
    }

    $table = $data['table'];

    if(!$order ){
        $order = "id DESC";
    }

    // 按分页取数据
    $data = \PhalApi\DI()->notorm->$table
        ->where($newWhere)
        ->order($order)
        ->limit(($page - 1) * $size, $size);
    // 读出总数
    $count = \PhalApi\DI()->notorm->$table
        ->where($newWhere)
        ->count("id");
    $res = array(
        'count' => $count,
        'data' => $data,
        'unit' => $newWhere['unit'],
    );
    return $res;
}

/**
 * 普通分页读取
 * @desc 按分面读取数据
 * return int count 总数
 * return array data 分页返回的相关数据
 */
function getInfoByPage($data)
{
    $page = $data->page;
    $size = $data->size;
    $table = $data->table;

    // 按分页取数据
    $data = \PhalApi\DI()->notorm->$table
        ->order("id DESC")
        ->limit(($page - 1) * $size, $size);
    // 读出总数
    $count = \PhalApi\DI()->notorm->$table
        ->count("id");
    $arr = array(
        'count' => $count,
        'data' => $data,
    );
    return $arr;
}

/**
 * 按id更新 or 插入
 * @desc 根据id进行更新
 * return int 更新状态
 * return data  插入的数据
 */
function updateByIdThis($data)
{
    $id = $data->id;
    $arr = $data->arr;
    $table = $data->table;
    // 对数据进行还原
    $arr = json_decode($arr,true);

    if( $arr ){
        $arr['update_time'] = date("Y-m-d H:i:s",time());
        //如果传了id 就对id就行更新
        if ( $id ){
            // 对该id进行更新
            return \PhalApi\DI()->notorm->$table
                ->where("id", $id)
                ->update($arr);
        }
        // 创建一个创建时间
        $arr['create_time'] = date("Y-m-d H:i:s",time());
        // 因为没有id所以新进一个数据
        return \PhalApi\DI()->notorm->$table
            ->insert($arr);
    }else{
        return "error";
    }
}

/**
 * 按id更新 or 插入
 * @desc 根据id进行更新
 * return int 更新状态
 * return data  插入的数据
 */
function updateByIdData($data)
{
    $id = $data['id'];
    $arr = $data['arr'];
    $table = $data['table'];

    // 对数据进行还原
    $arr = json_decode($arr,true);
    $arr['update_time'] = date("Y-m-d H:i:s",time());
    //如果传了id 就对id就行更新
    if ( $id ){
        // 对该id进行更新
        return \PhalApi\DI()->notorm->$table
            ->where("id", $id)
            ->update($arr);
    }
    // 创建一个创建时间
    $arr['create_time'] = date("Y-m-d H:i:s",time());
    // 因为没有id所以新进一个数据
    return \PhalApi\DI()->notorm->$table
        ->insert($arr);
}

/**
 * 按id删除
 * @desc 根据id进行删除
 * return data 删除状态
 */
function deleteById($data)
{
    $id = $data->id;
    $table = $data->table;
    //通用的按id删除数据
    return \PhalApi\DI()->notorm->$table
        ->where("id",$id)
        ->DELETE();
}

/**
 * 软删除 按id删除
 * @desc 根据id进行删除
 * return data 删除状态
 */
function deleteByIdSoft($data)
{
    $id = $data->id;
    $table = $data->table;
    //通用的按id删除数据
    \PhalApi\DI()->response->setMsg('success');
    return \PhalApi\DI()->notorm->$table
        ->where("id",$id)
        ->update(array('state'=>'0'));
}

/**
 * 软删除 按id删除      
 * @desc 根据id进行删除       
 * 
 * 
 */





